package syst

import (
	"fmt"
	"ideatools/application/pkgs/mylog"
	"os/exec"
	"regexp"
)

// OpenBrowser 在浏览器中打开连接
func OpenBrowser(url string) error {
	urlParse, err := ExtractFirstURL(url)
	if err != nil {
		mylog.Error("OpenBrowser error :" + err.Error())
		return err
	}
	// 启动新进程执行命令
	cmd := exec.Command("cmd.exe", "/c", "start", urlParse)
	err = cmd.Start()
	if err != nil {
		mylog.Error(err.Error())
		return err
	}
	return nil
}

func ExtractFirstURL(link string) (string, error) {
	// 定义匹配URL的正则表达式
	regex := regexp.MustCompile(`(http|https)://[^\s]+`)

	// 查找第一个匹配的URL
	matches := regex.FindStringSubmatch(link)
	if len(matches) > 0 {
		return matches[0], nil
	}

	// 如果未找到URL，则返回错误
	return "", fmt.Errorf("No URL found in the link")
}
